﻿namespace Kodefu
{
    using System;
    using System.Collections.Generic;
    using System.Linq;

    public interface INode<T, TWeight>
    {
        Func<INode<T, TWeight>, INode<T, TWeight>, TWeight> CalculateWeight { get; set; }
        IEnumerable<IEdge<T, TWeight>> Edges { get; }
        T Value { get; }
        void Add(INode<T, TWeight> node);
    }
}
